import ACCESS_ENUM from "@/access/accessEnum";

/**
 * 检查权限（判断当前登录用户是否具有某个权限）
 * @param loginUser 当前登录用户
 * @param needAccess 需要有的权限
 * @return boolean 有无权限
 */
const checkAccess = (loginUser: any, needAccess = ACCESS_ENUM.NOT_LOGIN) => {
  // 获取当前登录用户具有的权限（如果没有 loginUser，则表示未登录）
  const loginUserAccess = loginUser?.userRole ?? ACCESS_ENUM.NOT_LOGIN;
  console.log("当前登录用户具有的权限：", loginUserAccess);
  console.log("需要有的权限：", needAccess);

  // 如果需要的权限是未登录，则直接返回true
  if (needAccess === ACCESS_ENUM.NOT_LOGIN) {
    return true;
  }

  // 如果用户未登录，则无权限
  if (loginUserAccess === ACCESS_ENUM.NOT_LOGIN) {
    return false;
  }

  // 如果是管理员，可以访问所有页面
  if (loginUserAccess === ACCESS_ENUM.ADMIN) {
    return true;
  }

  // 如果需要管理员权限
  if (needAccess === ACCESS_ENUM.ADMIN) {
    return false;
  }

  // 如果需要用户权限
  if (needAccess === ACCESS_ENUM.USER) {
    return loginUserAccess === ACCESS_ENUM.USER;
  }

  return false;
};

export default checkAccess;
